<template>
  <div class="login-container">
    <div class="logo">
      <img src="../assets/logo.png" alt="">
    </div>

    <el-form :model="user" :rules="userRules" ref="userForm" label-width="0px" class="loginform_style">
        <el-form-item prop="userName">
          <el-input v-model="user.userName" prefix-icon="el-icon-user-solid" placeholder="请输入账号"></el-input>
        </el-form-item>
      <el-form-item prop="pwd">
        <el-input type="password" v-model="user.pwd" prefix-icon="el-icon-lock" placeholder="请输入密码" show-password></el-input>
      </el-form-item>
      <el-form-item >
        <el-button type="primary" @click="login" >登录</el-button>
        <el-button type="info" @click="resetForm" >重置</el-button>
      </el-form-item>
    </el-form>

  </div>
</template>

<script>
    export default {
        name: "login",
      data() {
          return {
            user:{
              userName:'',
              pwd:''
            },
            userRules:{
              userName:[
                { required: true, message: '请输入账号', trigger: 'blur' },
                { min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
              ],
              pwd:[
                { required: true, message: '请输入密码', trigger: 'blur' },
                { min: 6, max: 10, message: '长度在 6 到 10 个字符', trigger: 'blur' }
              ]
            }
          }
      },
      methods: {
        login:function () {
            this.$refs['userForm'].validate((valid) => {
              if (!valid) {
                return
              }
              this.$http.post("/user/login", this.user).then((res) => {
                if (res.data.success) {
                  //登陆成功将用户信息保存到
                  window.sessionStorage.setItem("user", JSON.stringify(res.data.result.user));//sessionStorage 只能存储字符串
                  window.sessionStorage.setItem("token", res.data.result.token);

                  //组件跳转
                  this.$router.push("/home")
                  this.$message.success(res.data.message);
                } else {
                  this.$message.error(res.data.message)
                }
              });

            })
          },
        resetForm:function() {
          this.$refs['userForm'].resetFields();
        }
      }
    }
</script>

<style scoped lang="less">
  .login-container {
    width: 450px;
    height: 314px;
    background-color: #fff;
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 5px;

    .logo {
      width: 130px;
      height: 130px;
      border: 1px solid #eee;
      border-radius: 50%;
      padding: 8px;
      box-shadow: 0 0 10px #eee;
      position: absolute;
      left: 50%;
      transform: translateX(-50%) translateY(-60px);
      background-color: #fff;

      img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: #eee;
      }
    }

    .loginform_style {
      padding: 0 20px;
      margin-top: 110px;
    }

    .btns {
      display: flex;
      justify-content: center;
    }
  }
</style>
